﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;


namespace PloobsEngine.Modelo
{
    public interface IModelo 
    {
        /// <summary>
        /// Carrega o modelo
        /// </summary>
        /// <param name="gd"></param>
        void LoadModelo();
        void Serialize(System.Xml.XmlTextWriter textWriter);
        void DeSerialize(System.Xml.XmlNode node,EngineStuff engine);
        object getModelTag();
        //ModelMesh[] getModelMeshes();
        Matrix[] getBonesTransformation();        
        Texture2D getTexture(TextureType textureType);
        BoundingSphere GetBoudingSphere();       
                
        /// new
        int GetParentBoneIndex(int meshNumber);
        int MeshNumber{get;}
        VertexBuffer GetVertexBuffer(int meshNumber);
        IndexBuffer GetIndexBuffer(int meshNumber);
        BatchInformation[] GetBatchInformation(int meshNumber);        


        String Name
        {
            get;
            set;
        }
              
               
    }
    public enum TextureType
    {
        DIFFUSE,SPECULAR,BUMP,GLOW,PARALAX,RELIEF,MULTITEX1,MULTITEX2,MULTITEX3,MULTITEX4
    }

    
}
